package com.lance.answer.question_export;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@NoArgsConstructor
@Data
public class QuestionDetail {


    @JsonProperty("code")
    private String code;
    @JsonProperty("content")
    private List<ContentDTO> content;
    @JsonProperty("ts")
    private Long ts;


    @NoArgsConstructor
    @Data
    public static class ContentDTO {
        @JsonProperty("quoteTags")
        private List<?> quoteTags;
        // 题目的ID
        @JsonProperty("I1")
        private String i1;
        // 题目的标题
        @JsonProperty("I2")
        private String i2;
        // i3可能是题型
        /**
         *1-单选题
         *2-多选题
         *3-判断题
         * 4-填空题
         *
         * 5是阅读理解
         *
         *
         * 6-名词解释 |问答题|论述题
         */
        @JsonProperty("I3")
        private Integer i3;
        @JsonProperty("I4")
        private String i4;
        @JsonProperty("I5")
        private String i5;
        @JsonProperty("I6")
        // 题目的选项
        // 如果题型是填空题 I6就是正确答案  填空 名词解释|问答题|论述题
        private List<String> i6;
        /**
         * 题目的正确答案
         * "0",
         * "1",
         * "2",
         * "3"
         * O对应的A
         *
         * 单选：多选 判断
         */
        @JsonProperty("I7")
        private List<String> i7;
        @JsonProperty("I8")
        private List<String> i8;
        // 题目的分数
        @JsonProperty("I9")
      //  private Integer i9; 10-26
        private Double i9;
        @JsonProperty("I10")
        private String i10;
        @JsonProperty("I11")
        private Integer i11;
        @JsonProperty("I12")
        private String i12;
        @JsonProperty("I13")
        private Integer i13;
        @JsonProperty("I14")
        private String i14;
        @JsonProperty("I15")
        private List<?> i15;
        @JsonProperty("I16")
        private Integer i16;
        @JsonProperty("I17")
        private Integer i17;
        @JsonProperty("I18")
        private String i18;
        @JsonProperty("I19")
        private Integer i19;
        @JsonProperty("I20")
        private String i20;
        @JsonProperty("I21")
        private String i21;
        @JsonProperty("I22")
        private String i22;
        @JsonProperty("I23")
        private String i23;
        @JsonProperty("I25")
        private Integer i25;
        @JsonProperty("I26")
        private Integer i26;
        @JsonProperty("I27")
        private Integer i27;
        @JsonProperty("I28")
        private Integer i28;
        @JsonProperty("I30")
        private String i30;
        @JsonProperty("I31")
        private Integer i31;
        @JsonProperty("I32")
        private Integer i32;
        @JsonProperty("I33")
        private String i33;
        @JsonProperty("I34")
        private Integer i34;
        @JsonProperty("I35")
        private Integer i35;
        @JsonProperty("Sub")
        private List<?> sub;
        @JsonProperty("Choices")
        private List<ChoicesDTO> choices;
        @JsonProperty("I29")
        private String i29;
        @JsonProperty("I24")
        private String i24;

        @NoArgsConstructor
        @Data
        public static class ChoicesDTO {
            @JsonProperty("I1")
            private String i1;
            @JsonProperty("I2")
            private String i2;
            @JsonProperty("Correct")
            private Boolean correct;
        }
    }
}
